NAME ?= MBP-EFI-SystemVolume
SRCS := $(wildcard *.c)
OBJS := $(SRCS:.c=.o)

CFLAGS += -O2 -Wall -fPIC
LDFLAGS += 

$(NAME): $(OBJS)
	gcc -o $@ $^ $(LDFLAGS)

define dep_rule
$(shell ${CC} -MM ${INCS} ${1:.o=.c} | sed 's,.*:,$1:,g' | tr -d '\\') makefile
	@echo "  CC $$(@:.o=.c)"
	@$(CC) -g -c $$(CFLAGS) -o $$@ $$<
endef

# 如果执行clean，则不需要创建文件依赖关系。
ifneq ($(MAKECMDGOALS),clean)
$(foreach o,$(OBJS), $(eval $(call dep_rule,${o})))
endif

clean:
	rm -f $(NAME) $(OBJS)
